package com.ys.entity.purchase;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TCG_InvoiceRegist", catalog="Id")
public class TcgInvoiceRegist extends BaseEntity<TcgInvoiceRegist> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="Bid", nameJava="bid", typeDataBase="varchar")
	private String bid;
	@YsField(nameDataBase="EffectStock", nameJava="effectStock", typeDataBase="tinyint")
	private Integer effectStock;
	@YsField(nameDataBase="CreateChangeId", nameJava="createChangeId", typeDataBase="bigint")
	private Long createChangeId;
	@YsField(nameDataBase="InvoiceOffsetId", nameJava="invoiceOffsetId", typeDataBase="bigint")
	private Long invoiceOffsetId;
	@YsField(nameDataBase="AnnexFile", nameJava="annexFile", typeDataBase="varchar")
	private String annexFile;
	@YsField(nameDataBase="InvoiceNo", nameJava="invoiceNo", typeDataBase="varchar")
	private String invoiceNo;
	@YsField(nameDataBase="InvoiceDay", nameJava="invoiceDay", typeDataBase="char")
	private String invoiceDay;
	@YsField(nameDataBase="TaxPercent", nameJava="taxPercent", typeDataBase="decimal")
	private BigDecimal taxPercent;
	@YsField(nameDataBase="AmountNoTax", nameJava="amountNoTax", typeDataBase="decimal")
	private BigDecimal amountNoTax;
	@YsField(nameDataBase="Tax", nameJava="tax", typeDataBase="decimal")
	private BigDecimal tax;
	@YsField(nameDataBase="AmountWithTax", nameJava="amountWithTax", typeDataBase="decimal")
	private BigDecimal amountWithTax;
	@YsField(nameDataBase="Remark", nameJava="remark", typeDataBase="varchar")
	private String remark;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TcgInvoiceRegist setId(Long id) {
		this.id = id;
		return this;
	}
	public String getBid() {
		return bid;
	}
	public TcgInvoiceRegist setBid(String bid) {
		this.bid = bid;
		return this;
	}
	public Integer getEffectStock() {
		return effectStock;
	}
	public TcgInvoiceRegist setEffectStock(Integer effectStock) {
		this.effectStock = effectStock;
		return this;
	}
	public Long getCreateChangeId() {
		return createChangeId;
	}
	public TcgInvoiceRegist setCreateChangeId(Long createChangeId) {
		this.createChangeId = createChangeId;
		return this;
	}
	public Long getInvoiceOffsetId() {
		return invoiceOffsetId;
	}
	public TcgInvoiceRegist setInvoiceOffsetId(Long invoiceOffsetId) {
		this.invoiceOffsetId = invoiceOffsetId;
		return this;
	}
	public String getAnnexFile() {
		return annexFile;
	}
	public TcgInvoiceRegist setAnnexFile(String annexFile) {
		this.annexFile = annexFile;
		return this;
	}
	public String getInvoiceNo() {
		return invoiceNo;
	}
	public TcgInvoiceRegist setInvoiceNo(String invoiceNo) {
		this.invoiceNo = invoiceNo;
		return this;
	}
	public String getInvoiceDay() {
		return invoiceDay;
	}
	public TcgInvoiceRegist setInvoiceDay(String invoiceDay) {
		this.invoiceDay = invoiceDay;
		return this;
	}
	public BigDecimal getTaxPercent() {
		return taxPercent;
	}
	public TcgInvoiceRegist setTaxPercent(BigDecimal taxPercent) {
		this.taxPercent = taxPercent;
		return this;
	}
	public BigDecimal getAmountNoTax() {
		return amountNoTax;
	}
	public TcgInvoiceRegist setAmountNoTax(BigDecimal amountNoTax) {
		this.amountNoTax = amountNoTax;
		return this;
	}
	public BigDecimal getTax() {
		return tax;
	}
	public TcgInvoiceRegist setTax(BigDecimal tax) {
		this.tax = tax;
		return this;
	}
	public BigDecimal getAmountWithTax() {
		return amountWithTax;
	}
	public TcgInvoiceRegist setAmountWithTax(BigDecimal amountWithTax) {
		this.amountWithTax = amountWithTax;
		return this;
	}
	public String getRemark() {
		return remark;
	}
	public TcgInvoiceRegist setRemark(String remark) {
		this.remark = remark;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TcgInvoiceRegist setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TcgInvoiceRegist setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TcgInvoiceRegist setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TcgInvoiceRegist tcgInvoiceRegist(
		String bid,
		Integer effectStock,
		Long createChangeId,
		Long invoiceOffsetId,
		String annexFile,
		String invoiceNo,
		String invoiceDay,
		BigDecimal taxPercent,
		BigDecimal amountNoTax,
		BigDecimal tax,
		BigDecimal amountWithTax,
		String remark,
		Integer status
			) {
		TcgInvoiceRegist entity = new TcgInvoiceRegist();
		entity.setBid(bid);
		entity.setEffectStock(effectStock);
		entity.setCreateChangeId(createChangeId);
		entity.setInvoiceOffsetId(invoiceOffsetId);
		entity.setAnnexFile(annexFile);
		entity.setInvoiceNo(invoiceNo);
		entity.setInvoiceDay(invoiceDay);
		entity.setTaxPercent(taxPercent);
		entity.setAmountNoTax(amountNoTax);
		entity.setTax(tax);
		entity.setAmountWithTax(amountWithTax);
		entity.setRemark(remark);
		entity.setStatus(status);
		return entity;
	}
}